{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [],
   "source": [
    "import json\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'1': 'len=123\\tgen=1\\teval_n=61\\tmin=0.000681\\tmax=0.082581\\tavg=0.057313\\tstd=0.019423', '2': 'len=123\\tgen=2\\teval_n=91\\tmin=0.000384\\tmax=0.082587\\tavg=0.061501\\tstd=0.017651', '3': 'len=121\\tgen=3\\teval_n=105\\tmin=0.003043\\tmax=0.090385\\tavg=0.065668\\tstd=0.012285', '4': 'len=119\\tgen=4\\teval_n=109\\tmin=0.00037\\tmax=0.090386\\tavg=0.065036\\tstd=0.014136', '5': 'len=118\\tgen=5\\teval_n=117\\tmin=4.7e-05\\tmax=0.090386\\tavg=0.066304\\tstd=0.015696', '6': 'len=117\\tgen=6\\teval_n=121\\tmin=0.000709\\tmax=0.092978\\tavg=0.067295\\tstd=0.012352', '7': 'len=116\\tgen=7\\teval_n=121\\tmin=0.006507\\tmax=0.090386\\tavg=0.066104\\tstd=0.013953', '8': 'len=115\\tgen=8\\teval_n=121\\tmin=0.006507\\tmax=0.090386\\tavg=0.068801\\tstd=0.011757', '9': 'len=115\\tgen=9\\teval_n=122\\tmin=0.038592\\tmax=0.090386\\tavg=0.069402\\tstd=0.009292', '10': 'len=114\\tgen=10\\teval_n=121\\tmin=0.003455\\tmax=0.090973\\tavg=0.068872\\tstd=0.012517', '11': 'len=113\\tgen=11\\teval_n=120\\tmin=0.000374\\tmax=0.090386\\tavg=0.068011\\tstd=0.014147', '12': 'len=113\\tgen=12\\teval_n=121\\tmin=1.7e-05\\tmax=0.090386\\tavg=0.068539\\tstd=0.013439', '13': 'len=113\\tgen=13\\teval_n=121\\tmin=0.006592\\tmax=0.092266\\tavg=0.070834\\tstd=0.011204', '14': 'len=112\\tgen=14\\teval_n=121\\tmin=0.001563\\tmax=0.092266\\tavg=0.069652\\tstd=0.014671', '15': 'len=112\\tgen=15\\teval_n=121\\tmin=0.002366\\tmax=0.092264\\tavg=0.069301\\tstd=0.013025', '16': 'len=111\\tgen=16\\teval_n=120\\tmin=0.042251\\tmax=0.092264\\tavg=0.072551\\tstd=0.009063', '17': 'len=111\\tgen=17\\teval_n=121\\tmin=0.032684\\tmax=0.092264\\tavg=0.074586\\tstd=0.009671', '18': 'len=111\\tgen=18\\teval_n=122\\tmin=0.05901\\tmax=0.093108\\tavg=0.075133\\tstd=0.008676', '19': 'len=111\\tgen=19\\teval_n=122\\tmin=0.000133\\tmax=0.092256\\tavg=0.074996\\tstd=0.01157', '20': 'len=111\\tgen=20\\teval_n=122\\tmin=0.003028\\tmax=0.092256\\tavg=0.072159\\tstd=0.016113', '21': 'len=111\\tgen=21\\teval_n=122\\tmin=0.0377\\tmax=0.092256\\tavg=0.075947\\tstd=0.009942', '22': 'len=111\\tgen=22\\teval_n=122\\tmin=0.0063\\tmax=0.092256\\tavg=0.0762\\tstd=0.012348', '23': 'len=111\\tgen=23\\teval_n=122\\tmin=0.050181\\tmax=0.092256\\tavg=0.07739\\tstd=0.00971', '24': 'len=110\\tgen=24\\teval_n=121\\tmin=0.000717\\tmax=0.092247\\tavg=0.074591\\tstd=0.018197', '25': 'len=109\\tgen=25\\teval_n=120\\tmin=0.061005\\tmax=0.092245\\tavg=0.078051\\tstd=0.009477', '26': 'len=109\\tgen=26\\teval_n=121\\tmin=0.061851\\tmax=0.09381\\tavg=0.080609\\tstd=0.009257', '27': 'len=109\\tgen=27\\teval_n=121\\tmin=0.062067\\tmax=0.092245\\tavg=0.080167\\tstd=0.008869', '28': 'len=109\\tgen=28\\teval_n=122\\tmin=0.003712\\tmax=0.093582\\tavg=0.080787\\tstd=0.01227', '29': 'len=109\\tgen=29\\teval_n=122\\tmin=0.004094\\tmax=0.093582\\tavg=0.079996\\tstd=0.014597', '30': 'len=109\\tgen=30\\teval_n=122\\tmin=0.004441\\tmax=0.09251\\tavg=0.077659\\tstd=0.017924', '31': 'len=109\\tgen=31\\teval_n=122\\tmin=0.004059\\tmax=0.092516\\tavg=0.078822\\tstd=0.014328', '32': 'len=109\\tgen=32\\teval_n=122\\tmin=0.046148\\tmax=0.09251\\tavg=0.081853\\tstd=0.009884', '33': 'len=109\\tgen=33\\teval_n=122\\tmin=0.000361\\tmax=0.093603\\tavg=0.081628\\tstd=0.011748', '34': 'len=109\\tgen=34\\teval_n=122\\tmin=0.006738\\tmax=0.092245\\tavg=0.081573\\tstd=0.011754', '35': 'len=108\\tgen=35\\teval_n=121\\tmin=0.004966\\tmax=0.09371\\tavg=0.081032\\tstd=0.014513', '36': 'len=108\\tgen=36\\teval_n=122\\tmin=0.050898\\tmax=0.093962\\tavg=0.08312\\tstd=0.009641', '37': 'len=108\\tgen=37\\teval_n=122\\tmin=0.0009\\tmax=0.093962\\tavg=0.079895\\tstd=0.016191', '38': 'len=108\\tgen=38\\teval_n=122\\tmin=0.010121\\tmax=0.093899\\tavg=0.081401\\tstd=0.011245', '39': 'len=108\\tgen=39\\teval_n=122\\tmin=0.002242\\tmax=0.093899\\tavg=0.081442\\tstd=0.012932', '40': 'len=108\\tgen=40\\teval_n=122\\tmin=0.0443\\tmax=0.093585\\tavg=0.082399\\tstd=0.00977', '41': 'len=108\\tgen=41\\teval_n=122\\tmin=0.000709\\tmax=0.093948\\tavg=0.080828\\tstd=0.012701', '42': 'len=108\\tgen=42\\teval_n=122\\tmin=0.000384\\tmax=0.093611\\tavg=0.079684\\tstd=0.014646', '43': 'len=108\\tgen=43\\teval_n=122\\tmin=0.04481\\tmax=0.093611\\tavg=0.080621\\tstd=0.011619', '44': 'len=108\\tgen=44\\teval_n=122\\tmin=0.000709\\tmax=0.093611\\tavg=0.080716\\tstd=0.015249', '45': 'len=108\\tgen=45\\teval_n=122\\tmin=0.029699\\tmax=0.093611\\tavg=0.081369\\tstd=0.011487', '46': 'len=108\\tgen=46\\teval_n=122\\tmin=0.044094\\tmax=0.093963\\tavg=0.081162\\tstd=0.010454', '47': 'len=108\\tgen=47\\teval_n=122\\tmin=0.000709\\tmax=0.093963\\tavg=0.078499\\tstd=0.016292', '48': 'len=108\\tgen=48\\teval_n=122\\tmin=0.0499\\tmax=0.093963\\tavg=0.081245\\tstd=0.010598', '49': 'len=108\\tgen=49\\teval_n=122\\tmin=0.000506\\tmax=0.093963\\tavg=0.078514\\tstd=0.015848', '50': 'len=108\\tgen=50\\teval_n=122\\tmin=0.004019\\tmax=0.093964\\tavg=0.080001\\tstd=0.013645', '51': 'len=108\\tgen=51\\teval_n=122\\tmin=0.046221\\tmax=0.093964\\tavg=0.081403\\tstd=0.010768', '52': 'len=108\\tgen=52\\teval_n=122\\tmin=0.002056\\tmax=0.093605\\tavg=0.08114\\tstd=0.014025', '53': 'len=108\\tgen=53\\teval_n=122\\tmin=0.004156\\tmax=0.094001\\tavg=0.082377\\tstd=0.011734', '54': 'len=108\\tgen=54\\teval_n=122\\tmin=0.002713\\tmax=0.094001\\tavg=0.08319\\tstd=0.013463', '55': 'len=108\\tgen=55\\teval_n=122\\tmin=0.004671\\tmax=0.094001\\tavg=0.083648\\tstd=0.011649', '56': 'len=108\\tgen=56\\teval_n=122\\tmin=0.002007\\tmax=0.094001\\tavg=0.081651\\tstd=0.014061', '57': 'len=108\\tgen=57\\teval_n=122\\tmin=0.00646\\tmax=0.094001\\tavg=0.082247\\tstd=0.011946', '58': 'len=108\\tgen=58\\teval_n=122\\tmin=0.00423\\tmax=0.094001\\tavg=0.080299\\tstd=0.013239', '59': 'len=108\\tgen=59\\teval_n=122\\tmin=0.044094\\tmax=0.094001\\tavg=0.081592\\tstd=0.010586', '60': 'len=108\\tgen=60\\teval_n=122\\tmin=0.000696\\tmax=0.094001\\tavg=0.080722\\tstd=0.015188', '61': 'len=108\\tgen=61\\teval_n=122\\tmin=0.032627\\tmax=0.094001\\tavg=0.081671\\tstd=0.011134', '62': 'len=108\\tgen=62\\teval_n=122\\tmin=0.003872\\tmax=0.093817\\tavg=0.080906\\tstd=0.013633', '63': 'len=108\\tgen=63\\teval_n=122\\tmin=0.045552\\tmax=0.093817\\tavg=0.082231\\tstd=0.010304', '64': 'len=106\\tgen=64\\teval_n=120\\tmin=0.003236\\tmax=0.093962\\tavg=0.081436\\tstd=0.015117', '65': 'len=105\\tgen=65\\teval_n=120\\tmin=0.001953\\tmax=0.093817\\tavg=0.081644\\tstd=0.016117', '66': 'len=105\\tgen=66\\teval_n=121\\tmin=0.00559\\tmax=0.093817\\tavg=0.082385\\tstd=0.013868', '67': 'len=105\\tgen=67\\teval_n=121\\tmin=0.004193\\tmax=0.093817\\tavg=0.082953\\tstd=0.013393', '68': 'len=102\\tgen=68\\teval_n=119\\tmin=0.001441\\tmax=0.093817\\tavg=0.081797\\tstd=0.015499', '69': 'len=102\\tgen=69\\teval_n=120\\tmin=0.003327\\tmax=0.093817\\tavg=0.07798\\tstd=0.01971', '70': 'len=102\\tgen=70\\teval_n=120\\tmin=0.044082\\tmax=0.093832\\tavg=0.081064\\tstd=0.011984', '71': 'len=102\\tgen=71\\teval_n=121\\tmin=0.005104\\tmax=0.093832\\tavg=0.08295\\tstd=0.012735', '72': 'len=102\\tgen=72\\teval_n=122\\tmin=0.010978\\tmax=0.093832\\tavg=0.083152\\tstd=0.012081', '73': 'len=102\\tgen=73\\teval_n=122\\tmin=0.053657\\tmax=0.093832\\tavg=0.085083\\tstd=0.008303', '74': 'len=101\\tgen=74\\teval_n=121\\tmin=0.016551\\tmax=0.093832\\tavg=0.084038\\tstd=0.010766', '75': 'len=101\\tgen=75\\teval_n=122\\tmin=0.050964\\tmax=0.09359\\tavg=0.08307\\tstd=0.009527', '76': 'len=101\\tgen=76\\teval_n=122\\tmin=0.002643\\tmax=0.093697\\tavg=0.083023\\tstd=0.012074', '77': 'len=101\\tgen=77\\teval_n=122\\tmin=0.049531\\tmax=0.093697\\tavg=0.083013\\tstd=0.008997', '78': 'len=101\\tgen=78\\teval_n=122\\tmin=0.001903\\tmax=0.093697\\tavg=0.080242\\tstd=0.015365', '79': 'len=101\\tgen=79\\teval_n=122\\tmin=0.001042\\tmax=0.093697\\tavg=0.081392\\tstd=0.014424', '80': 'len=101\\tgen=80\\teval_n=122\\tmin=0.001903\\tmax=0.093772\\tavg=0.082668\\tstd=0.013713', '81': 'len=101\\tgen=81\\teval_n=122\\tmin=0.061182\\tmax=0.093772\\tavg=0.082886\\tstd=0.009034', '82': 'len=101\\tgen=82\\teval_n=122\\tmin=0.001501\\tmax=0.093337\\tavg=0.082337\\tstd=0.012048', '83': 'len=101\\tgen=83\\teval_n=122\\tmin=0.008401\\tmax=0.090391\\tavg=0.081519\\tstd=0.011959', '84': 'len=101\\tgen=84\\teval_n=122\\tmin=0.058043\\tmax=0.093486\\tavg=0.082598\\tstd=0.009326', '85': 'len=101\\tgen=85\\teval_n=122\\tmin=0.061282\\tmax=0.093545\\tavg=0.083333\\tstd=0.008789', '86': 'len=101\\tgen=86\\teval_n=122\\tmin=0.045514\\tmax=0.093448\\tavg=0.080672\\tstd=0.010245', '87': 'len=101\\tgen=87\\teval_n=122\\tmin=0.050348\\tmax=0.090708\\tavg=0.080834\\tstd=0.010038', '88': 'len=101\\tgen=88\\teval_n=122\\tmin=0.03029\\tmax=0.090388\\tavg=0.080161\\tstd=0.011509', '89': 'len=101\\tgen=89\\teval_n=122\\tmin=0.004104\\tmax=0.090388\\tavg=0.07824\\tstd=0.014578', '90': 'len=101\\tgen=90\\teval_n=122\\tmin=0.001484\\tmax=0.092817\\tavg=0.080185\\tstd=0.012483', '91': 'len=101\\tgen=91\\teval_n=122\\tmin=0.047977\\tmax=0.092817\\tavg=0.081168\\tstd=0.009864', '92': 'len=101\\tgen=92\\teval_n=122\\tmin=0.046952\\tmax=0.092817\\tavg=0.080451\\tstd=0.010715', '93': 'len=101\\tgen=93\\teval_n=122\\tmin=0.049594\\tmax=0.092817\\tavg=0.081817\\tstd=0.010076', '94': 'len=101\\tgen=94\\teval_n=122\\tmin=0.042551\\tmax=0.09206\\tavg=0.082621\\tstd=0.010125', '95': 'len=101\\tgen=95\\teval_n=122\\tmin=0.053669\\tmax=0.092955\\tavg=0.083042\\tstd=0.009078', '96': 'len=101\\tgen=96\\teval_n=122\\tmin=0.036532\\tmax=0.092955\\tavg=0.082553\\tstd=0.009703', '97': 'len=101\\tgen=97\\teval_n=122\\tmin=0.001437\\tmax=0.092862\\tavg=0.081977\\tstd=0.011572', '98': 'len=101\\tgen=98\\teval_n=122\\tmin=0.015072\\tmax=0.092885\\tavg=0.081847\\tstd=0.012589', '99': 'len=101\\tgen=99\\teval_n=122\\tmin=0.0475\\tmax=0.092885\\tavg=0.083184\\tstd=0.008952', '100': 'len=101\\tgen=100\\teval_n=122\\tmin=0.050898\\tmax=0.092887\\tavg=0.081197\\tstd=0.009717', '101': 'len=100\\tgen=101\\teval_n=121\\tmin=0.056991\\tmax=0.092906\\tavg=0.081674\\tstd=0.00955', '102': 'len=100\\tgen=102\\teval_n=121\\tmin=0.049594\\tmax=0.092887\\tavg=0.08197\\tstd=0.009578', '103': 'len=100\\tgen=103\\teval_n=121\\tmin=0.058931\\tmax=0.092885\\tavg=0.082465\\tstd=0.009017', '104': 'len=100\\tgen=104\\teval_n=122\\tmin=0.044782\\tmax=0.093015\\tavg=0.08189\\tstd=0.009532', '105': 'len=100\\tgen=105\\teval_n=122\\tmin=0.01165\\tmax=0.092916\\tavg=0.081296\\tstd=0.011778', '106': 'len=100\\tgen=106\\teval_n=122\\tmin=0.058931\\tmax=0.092916\\tavg=0.083266\\tstd=0.008012', '107': 'len=100\\tgen=107\\teval_n=122\\tmin=0.018257\\tmax=0.093863\\tavg=0.081875\\tstd=0.011094', '108': 'len=100\\tgen=108\\teval_n=122\\tmin=0.007529\\tmax=0.093863\\tavg=0.080527\\tstd=0.014292', '109': 'len=100\\tgen=109\\teval_n=122\\tmin=0.00401\\tmax=0.093863\\tavg=0.078896\\tstd=0.016593', '110': 'len=100\\tgen=110\\teval_n=122\\tmin=0.019629\\tmax=0.093012\\tavg=0.083005\\tstd=0.011322', '111': 'len=100\\tgen=111\\teval_n=122\\tmin=0.06142\\tmax=0.092887\\tavg=0.084678\\tstd=0.008342', '112': 'len=100\\tgen=112\\teval_n=122\\tmin=0.016966\\tmax=0.092868\\tavg=0.083225\\tstd=0.011465', '113': 'len=100\\tgen=113\\teval_n=122\\tmin=0.000663\\tmax=0.093012\\tavg=0.083988\\tstd=0.012084', '114': 'len=100\\tgen=114\\teval_n=122\\tmin=0.056876\\tmax=0.093269\\tavg=0.084923\\tstd=0.00813', '115': 'len=100\\tgen=115\\teval_n=122\\tmin=0.035775\\tmax=0.093269\\tavg=0.084774\\tstd=0.008971', '116': 'len=100\\tgen=116\\teval_n=122\\tmin=0.06142\\tmax=0.093269\\tavg=0.086783\\tstd=0.007047', '117': 'len=100\\tgen=117\\teval_n=122\\tmin=0.001436\\tmax=0.09328\\tavg=0.083926\\tstd=0.016023', '118': 'len=100\\tgen=118\\teval_n=122\\tmin=0.053603\\tmax=0.093269\\tavg=0.085972\\tstd=0.007598', '119': 'len=99\\tgen=119\\teval_n=121\\tmin=0.06142\\tmax=0.092868\\tavg=0.085559\\tstd=0.008028', '120': 'len=99\\tgen=120\\teval_n=122\\tmin=0.036937\\tmax=0.092868\\tavg=0.084284\\tstd=0.009584', '121': 'len=99\\tgen=121\\teval_n=122\\tmin=0.03955\\tmax=0.093556\\tavg=0.084443\\tstd=0.009748', '122': 'len=99\\tgen=122\\teval_n=122\\tmin=0.06142\\tmax=0.093556\\tavg=0.086672\\tstd=0.007434', '123': 'len=99\\tgen=123\\teval_n=122\\tmin=0.060188\\tmax=0.092868\\tavg=0.086071\\tstd=0.007615', '124': 'len=99\\tgen=124\\teval_n=122\\tmin=0.059674\\tmax=0.092868\\tavg=0.086402\\tstd=0.007091', '125': 'len=99\\tgen=125\\teval_n=122\\tmin=0.046879\\tmax=0.093019\\tavg=0.086914\\tstd=0.007445', '126': 'len=99\\tgen=126\\teval_n=122\\tmin=0.042893\\tmax=0.093402\\tavg=0.086646\\tstd=0.00834', '127': 'len=99\\tgen=127\\teval_n=122\\tmin=0.046876\\tmax=0.093402\\tavg=0.086921\\tstd=0.007497', '128': 'len=99\\tgen=128\\teval_n=122\\tmin=0.046876\\tmax=0.093402\\tavg=0.086632\\tstd=0.008252', '129': 'len=99\\tgen=129\\teval_n=122\\tmin=0.041871\\tmax=0.093402\\tavg=0.086187\\tstd=0.008822', '130': 'len=99\\tgen=130\\teval_n=122\\tmin=0.016388\\tmax=0.093503\\tavg=0.084625\\tstd=0.011528', '131': 'len=99\\tgen=131\\teval_n=122\\tmin=0.001998\\tmax=0.093402\\tavg=0.083795\\tstd=0.012113', '132': 'len=99\\tgen=132\\teval_n=122\\tmin=0.002904\\tmax=0.093402\\tavg=0.085591\\tstd=0.011279', '133': 'len=99\\tgen=133\\teval_n=122\\tmin=0.069419\\tmax=0.093402\\tavg=0.087487\\tstd=0.005807', '134': 'len=99\\tgen=134\\teval_n=122\\tmin=0.043165\\tmax=0.093512\\tavg=0.085079\\tstd=0.009024', '135': 'len=99\\tgen=135\\teval_n=122\\tmin=0.052423\\tmax=0.092868\\tavg=0.083476\\tstd=0.010017', '136': 'len=99\\tgen=136\\teval_n=122\\tmin=0.061439\\tmax=0.092868\\tavg=0.084968\\tstd=0.008965', '137': 'len=99\\tgen=137\\teval_n=122\\tmin=0.035995\\tmax=0.093257\\tavg=0.085086\\tstd=0.010397', '138': 'len=99\\tgen=138\\teval_n=122\\tmin=0.035995\\tmax=0.092868\\tavg=0.08627\\tstd=0.010046', '139': 'len=99\\tgen=139\\teval_n=122\\tmin=0.058441\\tmax=0.092868\\tavg=0.086107\\tstd=0.008568', '140': 'len=99\\tgen=140\\teval_n=122\\tmin=0.058441\\tmax=0.092868\\tavg=0.084874\\tstd=0.009045', '141': 'len=99\\tgen=141\\teval_n=122\\tmin=0.060712\\tmax=0.092867\\tavg=0.084592\\tstd=0.00917', '142': 'len=99\\tgen=142\\teval_n=122\\tmin=0.002919\\tmax=0.092862\\tavg=0.083301\\tstd=0.011855', '143': 'len=99\\tgen=143\\teval_n=122\\tmin=0.061086\\tmax=0.093338\\tavg=0.084234\\tstd=0.008874', '144': 'len=99\\tgen=144\\teval_n=122\\tmin=0.061883\\tmax=0.093338\\tavg=0.083019\\tstd=0.009163', '145': 'len=99\\tgen=145\\teval_n=122\\tmin=0.053075\\tmax=0.093338\\tavg=0.083169\\tstd=0.010322', '146': 'len=99\\tgen=146\\teval_n=122\\tmin=0.004125\\tmax=0.092862\\tavg=0.082039\\tstd=0.012987', '147': 'len=99\\tgen=147\\teval_n=122\\tmin=0.050173\\tmax=0.091582\\tavg=0.081913\\tstd=0.011023', '148': 'len=99\\tgen=148\\teval_n=122\\tmin=0.005433\\tmax=0.093227\\tavg=0.080312\\tstd=0.0127', '149': 'len=99\\tgen=149\\teval_n=122\\tmin=0.060285\\tmax=0.093227\\tavg=0.082518\\tstd=0.009455', '150': 'len=99\\tgen=150\\teval_n=122\\tmin=0.054485\\tmax=0.093071\\tavg=0.081204\\tstd=0.010164', '151': 'len=99\\tgen=151\\teval_n=122\\tmin=0.054528\\tmax=0.093071\\tavg=0.082764\\tstd=0.009589', '152': 'len=99\\tgen=152\\teval_n=122\\tmin=0.003945\\tmax=0.093071\\tavg=0.083531\\tstd=0.012302', '153': 'len=99\\tgen=153\\teval_n=122\\tmin=0.054528\\tmax=0.093075\\tavg=0.085087\\tstd=0.008549', '154': 'len=99\\tgen=154\\teval_n=122\\tmin=0.054528\\tmax=0.093075\\tavg=0.085615\\tstd=0.008353', '155': 'len=99\\tgen=155\\teval_n=122\\tmin=0.027284\\tmax=0.093075\\tavg=0.083762\\tstd=0.010763', '156': 'len=99\\tgen=156\\teval_n=122\\tmin=0.06188\\tmax=0.093165\\tavg=0.084718\\tstd=0.008705', '157': 'len=99\\tgen=157\\teval_n=122\\tmin=0.061672\\tmax=0.093285\\tavg=0.085109\\tstd=0.008767', '158': 'len=99\\tgen=158\\teval_n=122\\tmin=0.06126\\tmax=0.093285\\tavg=0.084774\\tstd=0.009583', '159': 'len=99\\tgen=159\\teval_n=122\\tmin=0.06126\\tmax=0.093075\\tavg=0.083848\\tstd=0.00996', '160': 'len=99\\tgen=160\\teval_n=122\\tmin=0.050173\\tmax=0.093075\\tavg=0.083634\\tstd=0.010284', '161': 'len=99\\tgen=161\\teval_n=122\\tmin=0.061265\\tmax=0.093167\\tavg=0.084884\\tstd=0.009389', '162': 'len=99\\tgen=162\\teval_n=122\\tmin=0.035685\\tmax=0.093437\\tavg=0.085675\\tstd=0.009819'}\n"
     ]
    }
   ],
   "source": [
    "with open(\"evol_process_record.json\", \"r\") as f:\n",
    "    data = json.load(f)\n",
    "\n",
    "print(data)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_keys(['len', 'gen', 'eval_n', 'min', 'max', 'avg', 'std'])"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_dict.keys()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.DataFrame(columns=data_dict.keys())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 172,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>eval_n</th>\n",
       "      <th>len</th>\n",
       "      <th>max</th>\n",
       "      <th>avg</th>\n",
       "      <th>min</th>\n",
       "      <th>std</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>gen</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>61.0</td>\n",
       "      <td>123.0</td>\n",
       "      <td>0.082581</td>\n",
       "      <td>0.057313</td>\n",
       "      <td>0.000681</td>\n",
       "      <td>0.019423</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>91.0</td>\n",
       "      <td>123.0</td>\n",
       "      <td>0.082587</td>\n",
       "      <td>0.061501</td>\n",
       "      <td>0.000384</td>\n",
       "      <td>0.017651</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>105.0</td>\n",
       "      <td>121.0</td>\n",
       "      <td>0.090385</td>\n",
       "      <td>0.065668</td>\n",
       "      <td>0.003043</td>\n",
       "      <td>0.012285</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>109.0</td>\n",
       "      <td>119.0</td>\n",
       "      <td>0.090386</td>\n",
       "      <td>0.065036</td>\n",
       "      <td>0.000370</td>\n",
       "      <td>0.014136</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>117.0</td>\n",
       "      <td>118.0</td>\n",
       "      <td>0.090386</td>\n",
       "      <td>0.066304</td>\n",
       "      <td>0.000047</td>\n",
       "      <td>0.015696</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     eval_n    len       max       avg       min       std\n",
       "gen                                                       \n",
       "1      61.0  123.0  0.082581  0.057313  0.000681  0.019423\n",
       "2      91.0  123.0  0.082587  0.061501  0.000384  0.017651\n",
       "3     105.0  121.0  0.090385  0.065668  0.003043  0.012285\n",
       "4     109.0  119.0  0.090386  0.065036  0.000370  0.014136\n",
       "5     117.0  118.0  0.090386  0.066304  0.000047  0.015696"
      ]
     },
     "execution_count": 172,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [],
   "source": [
    "data_dict = dict()\n",
    "init = True\n",
    "for gen in data.keys():\n",
    "    value = data[gen]\n",
    "    temp = value.split(\"\\t\")\n",
    "    for each in temp:\n",
    "        temp2 = each.split(\"=\")\n",
    "        data_dict[temp2[0]] = temp2[1]\n",
    "\n",
    "    temp_df = pd.DataFrame.from_dict([data_dict])\n",
    "    if init:\n",
    "        df = temp_df.copy()\n",
    "        init = False\n",
    "    else:\n",
    "        df = pd.concat([df, temp_df])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = df.set_index(\"gen\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>avg</th>\n",
       "      <th>eval_n</th>\n",
       "      <th>len</th>\n",
       "      <th>max</th>\n",
       "      <th>min</th>\n",
       "      <th>std</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>gen</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.057313</td>\n",
       "      <td>61</td>\n",
       "      <td>123</td>\n",
       "      <td>0.082581</td>\n",
       "      <td>0.000681</td>\n",
       "      <td>0.019423</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.061501</td>\n",
       "      <td>91</td>\n",
       "      <td>123</td>\n",
       "      <td>0.082587</td>\n",
       "      <td>0.000384</td>\n",
       "      <td>0.017651</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.065668</td>\n",
       "      <td>105</td>\n",
       "      <td>121</td>\n",
       "      <td>0.090385</td>\n",
       "      <td>0.003043</td>\n",
       "      <td>0.012285</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.065036</td>\n",
       "      <td>109</td>\n",
       "      <td>119</td>\n",
       "      <td>0.090386</td>\n",
       "      <td>0.00037</td>\n",
       "      <td>0.014136</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0.066304</td>\n",
       "      <td>117</td>\n",
       "      <td>118</td>\n",
       "      <td>0.090386</td>\n",
       "      <td>4.7e-05</td>\n",
       "      <td>0.015696</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          avg eval_n  len       max       min       std\n",
       "gen                                                    \n",
       "1    0.057313     61  123  0.082581  0.000681  0.019423\n",
       "2    0.061501     91  123  0.082587  0.000384  0.017651\n",
       "3    0.065668    105  121  0.090385  0.003043  0.012285\n",
       "4    0.065036    109  119  0.090386   0.00037  0.014136\n",
       "5    0.066304    117  118  0.090386   4.7e-05  0.015696"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 117,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = df.astype(np.float64)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 118,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>eval_n</th>\n",
       "      <th>len</th>\n",
       "      <th>max</th>\n",
       "      <th>avg</th>\n",
       "      <th>min</th>\n",
       "      <th>std</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>gen</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>158</th>\n",
       "      <td>122.0</td>\n",
       "      <td>99.0</td>\n",
       "      <td>0.093285</td>\n",
       "      <td>0.084774</td>\n",
       "      <td>0.061260</td>\n",
       "      <td>0.009583</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>159</th>\n",
       "      <td>122.0</td>\n",
       "      <td>99.0</td>\n",
       "      <td>0.093075</td>\n",
       "      <td>0.083848</td>\n",
       "      <td>0.061260</td>\n",
       "      <td>0.009960</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>160</th>\n",
       "      <td>122.0</td>\n",
       "      <td>99.0</td>\n",
       "      <td>0.093075</td>\n",
       "      <td>0.083634</td>\n",
       "      <td>0.050173</td>\n",
       "      <td>0.010284</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>161</th>\n",
       "      <td>122.0</td>\n",
       "      <td>99.0</td>\n",
       "      <td>0.093167</td>\n",
       "      <td>0.084884</td>\n",
       "      <td>0.061265</td>\n",
       "      <td>0.009389</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>162</th>\n",
       "      <td>122.0</td>\n",
       "      <td>99.0</td>\n",
       "      <td>0.093437</td>\n",
       "      <td>0.085675</td>\n",
       "      <td>0.035685</td>\n",
       "      <td>0.009819</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     eval_n   len       max       avg       min       std\n",
       "gen                                                      \n",
       "158   122.0  99.0  0.093285  0.084774  0.061260  0.009583\n",
       "159   122.0  99.0  0.093075  0.083848  0.061260  0.009960\n",
       "160   122.0  99.0  0.093075  0.083634  0.050173  0.010284\n",
       "161   122.0  99.0  0.093167  0.084884  0.061265  0.009389\n",
       "162   122.0  99.0  0.093437  0.085675  0.035685  0.009819"
      ]
     },
     "execution_count": 118,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.tail()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 119,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>eval_n</th>\n",
       "      <th>len</th>\n",
       "      <th>max</th>\n",
       "      <th>avg</th>\n",
       "      <th>min</th>\n",
       "      <th>std</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>162.000000</td>\n",
       "      <td>162.000000</td>\n",
       "      <td>162.000000</td>\n",
       "      <td>162.000000</td>\n",
       "      <td>162.000000</td>\n",
       "      <td>162.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>120.981481</td>\n",
       "      <td>104.197531</td>\n",
       "      <td>0.092907</td>\n",
       "      <td>0.080752</td>\n",
       "      <td>0.028520</td>\n",
       "      <td>0.011385</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>5.603318</td>\n",
       "      <td>5.713490</td>\n",
       "      <td>0.001484</td>\n",
       "      <td>0.005314</td>\n",
       "      <td>0.024332</td>\n",
       "      <td>0.002668</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>61.000000</td>\n",
       "      <td>99.000000</td>\n",
       "      <td>0.082581</td>\n",
       "      <td>0.057313</td>\n",
       "      <td>0.000017</td>\n",
       "      <td>0.005807</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>122.000000</td>\n",
       "      <td>99.000000</td>\n",
       "      <td>0.092863</td>\n",
       "      <td>0.080302</td>\n",
       "      <td>0.003359</td>\n",
       "      <td>0.009405</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>122.000000</td>\n",
       "      <td>101.000000</td>\n",
       "      <td>0.093242</td>\n",
       "      <td>0.081882</td>\n",
       "      <td>0.032656</td>\n",
       "      <td>0.011058</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>122.000000</td>\n",
       "      <td>108.000000</td>\n",
       "      <td>0.093697</td>\n",
       "      <td>0.083734</td>\n",
       "      <td>0.050898</td>\n",
       "      <td>0.012973</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>122.000000</td>\n",
       "      <td>123.000000</td>\n",
       "      <td>0.094001</td>\n",
       "      <td>0.087487</td>\n",
       "      <td>0.069419</td>\n",
       "      <td>0.019710</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           eval_n         len         max         avg         min         std\n",
       "count  162.000000  162.000000  162.000000  162.000000  162.000000  162.000000\n",
       "mean   120.981481  104.197531    0.092907    0.080752    0.028520    0.011385\n",
       "std      5.603318    5.713490    0.001484    0.005314    0.024332    0.002668\n",
       "min     61.000000   99.000000    0.082581    0.057313    0.000017    0.005807\n",
       "25%    122.000000   99.000000    0.092863    0.080302    0.003359    0.009405\n",
       "50%    122.000000  101.000000    0.093242    0.081882    0.032656    0.011058\n",
       "75%    122.000000  108.000000    0.093697    0.083734    0.050898    0.012973\n",
       "max    122.000000  123.000000    0.094001    0.087487    0.069419    0.019710"
      ]
     },
     "execution_count": 119,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 129,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10, 8))\n",
    "\n",
    "plt.plot(df[\"avg\"].index, df[\"avg\"].values)\n",
    "\n",
    "x = np.linspace(1, 180, 5)\n",
    "x = list(map(int, x))\n",
    "plt.xticks(x, x[::1])\n",
    "\n",
    "y = np.linspace(0.05, 0.09, 5)\n",
    "plt.yticks(y, y[::1])\n",
    "\n",
    "plt.xlabel(\"generation\", fontsize=18)\n",
    "plt.ylabel(\"IC\", fontsize=18)\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 173,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "with open(\"best_factor.json\", \"r\") as f:\n",
    "    data = json.load(f)\n",
    "\n",
    "ic_values = list()\n",
    "for each in data.keys():\n",
    "    ic_values.append(data[each])\n",
    "    \n",
    "plt.figure(figsize=(10, 8))\n",
    "\n",
    "plt.plot(range(len(ic_values)), ic_values)\n",
    "\n",
    "x = np.linspace(0, len(ic_values), 5)\n",
    "x = list(map(int, x))\n",
    "plt.xticks(x, x[::1])\n",
    "\n",
    "y = np.linspace(0.05, 0.09, 5)\n",
    "plt.yticks(y, y[::1])\n",
    "\n",
    "plt.xlabel(\"best_factor\", fontsize=18)\n",
    "plt.ylabel(\"ic_value\", fontsize=18)\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 174,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict"
      ]
     },
     "execution_count": 174,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "type(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 175,
   "metadata": {},
   "outputs": [],
   "source": [
    "new_values = [data[key] for key in sorted(data, key=lambda x: data[x])] \n",
    "new_keys = sorted(data, key=lambda x: data[x])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 176,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'[0.073891, 0.07408, 0.074698]'"
      ]
     },
     "execution_count": 176,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "repr(new_values[:3])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 159,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\"['factor_gp_max(gp_mul(gp_min(2, var2), gp_add(var1, 1)), gp_min(gp_sub(var2, 2), gp_sub(var1, var1)))', 'factor_gp_min(gp_max(gp_mul(gp_add(gp_sub(1, 2), gp_div(var1, 1)), gp_div(gp_min(1, 2), gp_sub(var1, var1))), var1), gp_min(gp_min(gp_mul(var2, gp_mul(2, var2)), gp_add(gp_add(1, 1), gp_max(2, var2))), gp_min(gp_sub(var0, gp_add(1, var1)), gp_div(var0, gp_div(var0, 1)))))', 'factor_gp_sub(gp_sub(var0, gp_max(var1, 1)), gp_div(gp_div(var0, 2), gp_max(var0, var2)))']\""
      ]
     },
     "execution_count": 159,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "repr(new_keys[:3])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 163,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "list"
      ]
     },
     "execution_count": 163,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "type(new_values)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 165,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "list"
      ]
     },
     "execution_count": 165,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "type(new_keys)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 177,
   "metadata": {},
   "outputs": [],
   "source": [
    "new_data = {}\n",
    "for key, value in zip(new_keys, new_values):\n",
    "    new_data[key] = value"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 178,
   "metadata": {},
   "outputs": [],
   "source": [
    "with open(\"sorted_factors.json\", \"w\") as file1:\n",
    "    json_str1 = json.dumps(new_data, indent=4, ensure_ascii=False)\n",
    "    file1.write(json_str1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 139,
   "metadata": {},
   "outputs": [],
   "source": [
    "data.replace([np.inf, -np.inf], np.nan, inplace=True)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 140,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th>factor_gp_sub(gp_add(gp_mul(gp_mul(var1, 1), gp_max(var2, var0)), gp_sub(gp_mul(var1, 2), gp_min(var1, var2))), gp_add(gp_max(gp_max(var0, var1), gp_div(2, var1)), gp_div(gp_sub(var0, var2), gp_mul(var2, 1))))</th>\n",
       "      <th>factor_gp_sub(gp_mul(gp_add(var2, var1), var1), var0)</th>\n",
       "      <th>factor_gp_max(gp_max(gp_mul(1, var0), gp_min(2, 1)), gp_sub(gp_max(var2, 2), var0))</th>\n",
       "      <th>factor_gp_mul(gp_max(var1, gp_max(gp_min(2, var2), gp_sub(gp_min(var2, var2), var0))), gp_add(gp_div(var2, var2), gp_sub(var2, gp_add(var1, var2))))</th>\n",
       "      <th>factor_gp_max(var2, gp_mul(gp_min(2, 1), gp_div(gp_mul(gp_add(gp_add(2, var0), gp_max(var1, var0)), gp_mul(gp_min(1, var0), gp_sub(var1, 2))), var1)))</th>\n",
       "      <th>factor_gp_max(2, var1)</th>\n",
       "      <th>factor_gp_add(gp_max(gp_add(gp_div(var1, var1), gp_add(var1, 1)), 2), gp_sub(var1, gp_min(gp_mul(var1, 1), gp_min(2, var1))))</th>\n",
       "      <th>factor_gp_sub(gp_sub(var0, gp_max(var1, 1)), gp_div(gp_div(var0, 2), gp_max(var0, var2)))</th>\n",
       "      <th>factor_gp_min(gp_max(gp_mul(gp_add(gp_sub(1, 2), gp_div(var1, 1)), gp_div(gp_min(1, 2), gp_sub(var1, var1))), var1), gp_min(gp_min(gp_mul(var2, gp_mul(2, var2)), gp_add(gp_add(1, 1), gp_max(2, var2))), gp_min(gp_sub(var0, gp_add(1, var1)), gp_div(var0, gp_div(var0, 1)))))</th>\n",
       "      <th>...</th>\n",
       "      <th>factor_gp_add(gp_max(gp_mul(gp_mul(gp_min(2, var2), gp_max(var2, var1)), gp_sub(gp_add(var2, 2), gp_sub(var0, var1))), gp_div(2, var2)), gp_mul(var2, 1))</th>\n",
       "      <th>factor_gp_add(gp_max(gp_mul(gp_mul(gp_min(2, var2), gp_max(var2, var1)), gp_sub(gp_add(var2, 2), gp_sub(var0, var1))), var1), gp_mul(var2, 1))</th>\n",
       "      <th>factor_gp_add(gp_max(gp_mul(gp_mul(gp_min(2, var2), gp_max(var2, var0)), gp_add(var1, var2)), gp_min(gp_div(gp_add(var1, var1), gp_max(var2, gp_max(gp_add(var0, var2), gp_max(var1, var2)))), var1)), gp_min(gp_min(gp_sub(gp_max(var1, var0), gp_add(gp_sub(gp_add(1, 2), gp_sub(var0, gp_sub(gp_max(var1, var0), gp_add(var1, 1)))), 1)), var0), gp_mul(var0, gp_add(gp_div(gp_sub(1, var0), 2), gp_min(2, var0)))))</th>\n",
       "      <th>factor_gp_add(gp_max(gp_mul(gp_mul(gp_min(2, var2), gp_max(var2, var0)), gp_add(var1, var2)), gp_min(gp_div(gp_add(var1, var1), gp_max(var2, gp_max(gp_add(var0, var2), gp_max(var1, var2)))), var1)), gp_min(gp_min(gp_sub(var2, gp_add(gp_sub(gp_add(1, 2), gp_sub(var0, gp_sub(gp_max(var1, var0), gp_add(var1, 1)))), 1)), var0), gp_mul(var0, gp_add(gp_div(gp_sub(1, var0), 2), gp_min(2, var0)))))</th>\n",
       "      <th>factor_gp_add(gp_max(gp_mul(gp_mul(gp_min(2, var2), gp_max(var2, var0)), gp_add(var1, var2)), gp_min(gp_div(gp_add(var1, var1), gp_max(var2, gp_max(gp_add(var0, var2), gp_max(var1, var2)))), var1)), gp_min(gp_min(var0, var0), gp_mul(var0, gp_add(gp_div(gp_sub(1, var0), 2), gp_min(2, var0)))))</th>\n",
       "      <th>factor_gp_add(gp_max(gp_mul(gp_mul(gp_min(2, var2), gp_max(var2, var0)), gp_sub(gp_add(1, gp_max(gp_div(gp_div(var2, var1), gp_add(var2, var1)), gp_mul(gp_max(var0, var0), gp_div(1, var0)))), gp_sub(var0, var1))), gp_min(gp_div(gp_add(var1, var1), gp_max(var2, gp_max(gp_min(var2, gp_mul(gp_sub(gp_max(var1, gp_min(gp_sub(gp_max(var1, var0), var0), var0)), gp_sub(var1, gp_sub(gp_div(var0, var2), gp_max(var1, var2)))), gp_mul(gp_add(var2, gp_sub(var1, var1)), gp_sub(var0, gp_add(gp_mul(gp_mul(gp_max(gp_sub(gp_mul(1, var1), var2), var0), gp_max(var2, gp_div(var1, 1))), gp_sub(gp_add(1, 2), gp_sub(gp_max(gp_mul(gp_mul(gp_max(gp_mul(gp_mul(gp_min(gp_mul(gp_div(gp_sub(var1, var2), gp_add(var1, var0)), 2), var2), gp_max(1, var1)), gp_sub(gp_add(1, var1), gp_sub(var0, var1))), gp_min(gp_div(gp_add(var1, var1), gp_div(gp_min(var2, var0), gp_div(var0, var2))), var1)), gp_max(var2, var0)), gp_sub(gp_add(1, gp_add(1, 2)), gp_sub(var0, var1))), gp_div(gp_min(2, var2), gp_max(var1, gp_add(var1, var1)))), var1))), 1))))), gp_max(gp_max(var0, 1), var2)))), var1)), gp_min(gp_min(gp_sub(gp_max(var1, var1), gp_add(var1, 1)), var0), gp_mul(gp_mul(var0, 2), gp_add(gp_div(gp_sub(1, var0), 2), gp_min(2, var0)))))</th>\n",
       "      <th>factor_gp_add(gp_max(gp_mul(gp_mul(gp_min(2, var2), gp_max(var2, var0)), gp_sub(gp_add(1, gp_max(gp_div(gp_div(var2, var1), gp_add(var2, var1)), gp_mul(gp_max(var0, var0), gp_div(1, var0)))), gp_sub(var0, var1))), gp_min(gp_div(gp_add(var1, var1), gp_max(var2, gp_max(gp_min(var2, gp_mul(gp_sub(gp_max(var1, gp_min(gp_sub(gp_max(var1, var0), var0), var0)), gp_sub(var1, gp_sub(gp_div(var0, var2), gp_max(var1, var2)))), gp_mul(gp_add(var2, gp_sub(var1, var1)), gp_sub(var0, gp_add(gp_mul(gp_mul(gp_max(gp_sub(gp_mul(1, var1), var2), var0), gp_max(var2, gp_div(var1, 1))), gp_sub(gp_add(1, 2), gp_sub(gp_max(gp_mul(gp_mul(gp_max(gp_mul(gp_mul(gp_min(gp_mul(gp_div(gp_sub(var1, var2), gp_add(var1, var0)), 2), var2), gp_max(1, var1)), gp_sub(gp_add(1, var1), gp_sub(var0, var1))), gp_min(gp_div(gp_add(var1, var1), gp_div(gp_min(var2, var0), gp_div(var0, var2))), var1)), gp_max(var2, var0)), gp_sub(gp_add(1, gp_add(1, 2)), gp_sub(var0, var1))), gp_div(gp_min(2, var2), gp_max(var1, gp_add(var1, var1)))), var1))), 1))))), gp_max(gp_max(var0, 1), var2)))), var1)), gp_min(gp_min(gp_sub(var1, gp_add(var1, 1)), var0), gp_mul(gp_mul(var0, 2), gp_add(gp_div(gp_sub(1, var0), 2), gp_min(2, var0)))))</th>\n",
       "      <th>factor_gp_add(gp_max(gp_mul(gp_mul(gp_min(2, var2), gp_max(var2, var0)), gp_sub(gp_add(1, gp_max(gp_div(gp_div(var2, var1), gp_add(var2, var1)), gp_mul(gp_max(var0, var0), gp_div(1, var0)))), gp_sub(var0, var1))), gp_min(gp_div(gp_add(var1, var1), gp_max(var2, gp_max(gp_min(var2, gp_mul(gp_sub(gp_max(var1, gp_min(gp_sub(gp_max(var1, var0), var0), var0)), gp_sub(var1, gp_sub(gp_div(var0, var2), gp_max(var1, var2)))), gp_mul(gp_add(var2, gp_sub(var1, var1)), gp_sub(var0, gp_add(gp_mul(gp_mul(gp_max(gp_sub(gp_mul(1, var1), var2), var0), gp_max(var2, gp_div(var1, 1))), gp_sub(gp_add(1, 2), gp_sub(gp_max(gp_mul(gp_mul(gp_max(gp_mul(gp_mul(gp_min(gp_mul(gp_div(gp_sub(var1, var2), gp_add(var1, var0)), 2), var2), gp_max(1, var1)), gp_sub(gp_add(1, var1), gp_sub(var0, var1))), gp_min(gp_div(gp_add(var1, var1), gp_div(gp_min(var2, var0), gp_div(var0, var2))), var1)), gp_max(var2, var0)), gp_sub(var1, gp_sub(var0, var1))), gp_div(gp_min(2, var2), gp_max(var1, gp_add(var1, var1)))), var1))), 1))))), gp_max(gp_max(var0, 1), var2)))), var1)), gp_min(gp_min(gp_sub(var1, gp_add(var1, 1)), var0), gp_mul(gp_mul(var0, 2), gp_add(gp_div(gp_sub(1, var0), 2), gp_min(2, var0)))))</th>\n",
       "      <th>factor_gp_add(gp_max(gp_mul(gp_mul(gp_min(2, var2), gp_max(var2, var0)), gp_sub(gp_add(1, gp_max(gp_div(gp_div(var2, var1), gp_add(var2, var1)), gp_mul(gp_max(var0, var0), gp_div(1, var0)))), gp_sub(var0, var1))), gp_min(gp_div(gp_add(var1, var1), gp_max(var2, gp_max(gp_min(var2, var1), gp_max(gp_max(var0, 1), var2)))), var1)), gp_min(gp_min(gp_sub(var1, gp_add(var1, 1)), var0), gp_mul(gp_mul(var0, 2), gp_add(gp_div(gp_sub(1, var0), 2), gp_min(2, var0)))))</th>\n",
       "      <th>factor_gp_add(gp_max(gp_mul(gp_mul(gp_min(2, var2), gp_max(var2, var0)), gp_sub(gp_min(var2, var1), gp_sub(var0, var1))), gp_min(gp_div(gp_min(var1, 2), var2), var1)), gp_min(2, var1))</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>158921.000000</td>\n",
       "      <td>158919.000000</td>\n",
       "      <td>1.589190e+05</td>\n",
       "      <td>158919.000000</td>\n",
       "      <td>1.589190e+05</td>\n",
       "      <td>158919.000000</td>\n",
       "      <td>158919.000000</td>\n",
       "      <td>158919.000000</td>\n",
       "      <td>158919.000000</td>\n",
       "      <td>158919.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>1.589190e+05</td>\n",
       "      <td>1.589190e+05</td>\n",
       "      <td>1.589190e+05</td>\n",
       "      <td>1.589190e+05</td>\n",
       "      <td>1.589190e+05</td>\n",
       "      <td>158919.000000</td>\n",
       "      <td>158919.000000</td>\n",
       "      <td>158919.000000</td>\n",
       "      <td>158919.000000</td>\n",
       "      <td>158919.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>79460.000000</td>\n",
       "      <td>6.792054</td>\n",
       "      <td>1.518056e+01</td>\n",
       "      <td>1.737556</td>\n",
       "      <td>-1.209849e+01</td>\n",
       "      <td>1.551308</td>\n",
       "      <td>2.279291</td>\n",
       "      <td>3.642189</td>\n",
       "      <td>-0.705978</td>\n",
       "      <td>-1.156487</td>\n",
       "      <td>...</td>\n",
       "      <td>3.125839e+01</td>\n",
       "      <td>3.023899e+01</td>\n",
       "      <td>2.310399e+01</td>\n",
       "      <td>2.288500e+01</td>\n",
       "      <td>2.484642e+01</td>\n",
       "      <td>9.390146</td>\n",
       "      <td>9.390146</td>\n",
       "      <td>9.390146</td>\n",
       "      <td>9.390146</td>\n",
       "      <td>15.775295</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>45876.685402</td>\n",
       "      <td>1637.565262</td>\n",
       "      <td>3.223798e+03</td>\n",
       "      <td>2.409418</td>\n",
       "      <td>3.190803e+03</td>\n",
       "      <td>5.064271</td>\n",
       "      <td>3.187102</td>\n",
       "      <td>6.478966</td>\n",
       "      <td>2.021160</td>\n",
       "      <td>2.009958</td>\n",
       "      <td>...</td>\n",
       "      <td>3.960861e+03</td>\n",
       "      <td>3.960868e+03</td>\n",
       "      <td>3.647860e+03</td>\n",
       "      <td>3.647861e+03</td>\n",
       "      <td>3.647850e+03</td>\n",
       "      <td>1101.533348</td>\n",
       "      <td>1101.533348</td>\n",
       "      <td>1101.533348</td>\n",
       "      <td>1101.533348</td>\n",
       "      <td>2185.461069</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>-291.319953</td>\n",
       "      <td>-1.807763e+01</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>-1.262252e+06</td>\n",
       "      <td>0.024793</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>-560.330116</td>\n",
       "      <td>-560.830116</td>\n",
       "      <td>...</td>\n",
       "      <td>3.129920e+00</td>\n",
       "      <td>1.230147e-01</td>\n",
       "      <td>-1.008838e+04</td>\n",
       "      <td>-1.008838e+04</td>\n",
       "      <td>-1.008838e+04</td>\n",
       "      <td>-39034.599517</td>\n",
       "      <td>-39034.599517</td>\n",
       "      <td>-39034.599517</td>\n",
       "      <td>-39034.599517</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>39730.000000</td>\n",
       "      <td>-2.465068</td>\n",
       "      <td>-5.367697e-02</td>\n",
       "      <td>1.195423</td>\n",
       "      <td>-9.497348e-01</td>\n",
       "      <td>0.670505</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>2.612595</td>\n",
       "      <td>-0.830889</td>\n",
       "      <td>-1.372642</td>\n",
       "      <td>...</td>\n",
       "      <td>3.806265e+00</td>\n",
       "      <td>1.970575e+00</td>\n",
       "      <td>-3.166101e-01</td>\n",
       "      <td>-5.970662e-01</td>\n",
       "      <td>1.993659e+00</td>\n",
       "      <td>0.192782</td>\n",
       "      <td>0.192782</td>\n",
       "      <td>0.192782</td>\n",
       "      <td>0.192782</td>\n",
       "      <td>1.292769</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>79460.000000</td>\n",
       "      <td>-0.094290</td>\n",
       "      <td>8.496569e-01</td>\n",
       "      <td>1.401274</td>\n",
       "      <td>5.383094e-02</td>\n",
       "      <td>0.983465</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>2.952061</td>\n",
       "      <td>-0.651727</td>\n",
       "      <td>-0.961640</td>\n",
       "      <td>...</td>\n",
       "      <td>5.164901e+00</td>\n",
       "      <td>4.222292e+00</td>\n",
       "      <td>1.816791e+00</td>\n",
       "      <td>1.518561e+00</td>\n",
       "      <td>3.743952e+00</td>\n",
       "      <td>1.349809</td>\n",
       "      <td>1.349809</td>\n",
       "      <td>1.349809</td>\n",
       "      <td>1.349809</td>\n",
       "      <td>2.296086</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>119190.000000</td>\n",
       "      <td>2.768952</td>\n",
       "      <td>3.295890e+00</td>\n",
       "      <td>1.743566</td>\n",
       "      <td>2.705331e-01</td>\n",
       "      <td>1.580863</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>3.552784</td>\n",
       "      <td>-0.419511</td>\n",
       "      <td>-0.650948</td>\n",
       "      <td>...</td>\n",
       "      <td>1.143982e+01</td>\n",
       "      <td>1.133943e+01</td>\n",
       "      <td>7.580220e+00</td>\n",
       "      <td>7.248349e+00</td>\n",
       "      <td>8.832051e+00</td>\n",
       "      <td>4.826512</td>\n",
       "      <td>4.826512</td>\n",
       "      <td>4.826512</td>\n",
       "      <td>4.826512</td>\n",
       "      <td>5.008442</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>158920.000000</td>\n",
       "      <td>634966.783426</td>\n",
       "      <td>1.265051e+06</td>\n",
       "      <td>564.169884</td>\n",
       "      <td>5.112364e+00</td>\n",
       "      <td>1687.162464</td>\n",
       "      <td>1124.000000</td>\n",
       "      <td>2248.000000</td>\n",
       "      <td>102.726656</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>1.262600e+06</td>\n",
       "      <td>1.262600e+06</td>\n",
       "      <td>1.107882e+06</td>\n",
       "      <td>1.107882e+06</td>\n",
       "      <td>1.107882e+06</td>\n",
       "      <td>316030.241410</td>\n",
       "      <td>316030.241410</td>\n",
       "      <td>316030.241410</td>\n",
       "      <td>316030.241410</td>\n",
       "      <td>631490.404039</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>8 rows × 77 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "          Unnamed: 0  \\\n",
       "count  158921.000000   \n",
       "mean    79460.000000   \n",
       "std     45876.685402   \n",
       "min         0.000000   \n",
       "25%     39730.000000   \n",
       "50%     79460.000000   \n",
       "75%    119190.000000   \n",
       "max    158920.000000   \n",
       "\n",
       "       factor_gp_sub(gp_add(gp_mul(gp_mul(var1, 1), gp_max(var2, var0)), gp_sub(gp_mul(var1, 2), gp_min(var1, var2))), gp_add(gp_max(gp_max(var0, var1), gp_div(2, var1)), gp_div(gp_sub(var0, var2), gp_mul(var2, 1))))  \\\n",
       "count                                      158919.000000                                                                                                                                                                   \n",
       "mean                                            6.792054                                                                                                                                                                   \n",
       "std                                          1637.565262                                                                                                                                                                   \n",
       "min                                          -291.319953                                                                                                                                                                   \n",
       "25%                                            -2.465068                                                                                                                                                                   \n",
       "50%                                            -0.094290                                                                                                                                                                   \n",
       "75%                                             2.768952                                                                                                                                                                   \n",
       "max                                        634966.783426                                                                                                                                                                   \n",
       "\n",
       "       factor_gp_sub(gp_mul(gp_add(var2, var1), var1), var0)  \\\n",
       "count                                       1.589190e+05       \n",
       "mean                                        1.518056e+01       \n",
       "std                                         3.223798e+03       \n",
       "min                                        -1.807763e+01       \n",
       "25%                                        -5.367697e-02       \n",
       "50%                                         8.496569e-01       \n",
       "75%                                         3.295890e+00       \n",
       "max                                         1.265051e+06       \n",
       "\n",
       "       factor_gp_max(gp_max(gp_mul(1, var0), gp_min(2, 1)), gp_sub(gp_max(var2, 2), var0))  \\\n",
       "count                                      158919.000000                                     \n",
       "mean                                            1.737556                                     \n",
       "std                                             2.409418                                     \n",
       "min                                             1.000000                                     \n",
       "25%                                             1.195423                                     \n",
       "50%                                             1.401274                                     \n",
       "75%                                             1.743566                                     \n",
       "max                                           564.169884                                     \n",
       "\n",
       "       factor_gp_mul(gp_max(var1, gp_max(gp_min(2, var2), gp_sub(gp_min(var2, var2), var0))), gp_add(gp_div(var2, var2), gp_sub(var2, gp_add(var1, var2))))  \\\n",
       "count                                       1.589190e+05                                                                                                      \n",
       "mean                                       -1.209849e+01                                                                                                      \n",
       "std                                         3.190803e+03                                                                                                      \n",
       "min                                        -1.262252e+06                                                                                                      \n",
       "25%                                        -9.497348e-01                                                                                                      \n",
       "50%                                         5.383094e-02                                                                                                      \n",
       "75%                                         2.705331e-01                                                                                                      \n",
       "max                                         5.112364e+00                                                                                                      \n",
       "\n",
       "       factor_gp_max(var2, gp_mul(gp_min(2, 1), gp_div(gp_mul(gp_add(gp_add(2, var0), gp_max(var1, var0)), gp_mul(gp_min(1, var0), gp_sub(var1, 2))), var1)))  \\\n",
       "count                                      158919.000000                                                                                                        \n",
       "mean                                            1.551308                                                                                                        \n",
       "std                                             5.064271                                                                                                        \n",
       "min                                             0.024793                                                                                                        \n",
       "25%                                             0.670505                                                                                                        \n",
       "50%                                             0.983465                                                                                                        \n",
       "75%                                             1.580863                                                                                                        \n",
       "max                                          1687.162464                                                                                                        \n",
       "\n",
       "       factor_gp_max(2, var1)  \\\n",
       "count           158919.000000   \n",
       "mean                 2.279291   \n",
       "std                  3.187102   \n",
       "min                  2.000000   \n",
       "25%                  2.000000   \n",
       "50%                  2.000000   \n",
       "75%                  2.000000   \n",
       "max               1124.000000   \n",
       "\n",
       "       factor_gp_add(gp_max(gp_add(gp_div(var1, var1), gp_add(var1, 1)), 2), gp_sub(var1, gp_min(gp_mul(var1, 1), gp_min(2, var1))))  \\\n",
       "count                                      158919.000000                                                                               \n",
       "mean                                            3.642189                                                                               \n",
       "std                                             6.478966                                                                               \n",
       "min                                             2.000000                                                                               \n",
       "25%                                             2.612595                                                                               \n",
       "50%                                             2.952061                                                                               \n",
       "75%                                             3.552784                                                                               \n",
       "max                                          2248.000000                                                                               \n",
       "\n",
       "       factor_gp_sub(gp_sub(var0, gp_max(var1, 1)), gp_div(gp_div(var0, 2), gp_max(var0, var2)))  \\\n",
       "count                                      158919.000000                                           \n",
       "mean                                           -0.705978                                           \n",
       "std                                             2.021160                                           \n",
       "min                                          -560.330116                                           \n",
       "25%                                            -0.830889                                           \n",
       "50%                                            -0.651727                                           \n",
       "75%                                            -0.419511                                           \n",
       "max                                           102.726656                                           \n",
       "\n",
       "       factor_gp_min(gp_max(gp_mul(gp_add(gp_sub(1, 2), gp_div(var1, 1)), gp_div(gp_min(1, 2), gp_sub(var1, var1))), var1), gp_min(gp_min(gp_mul(var2, gp_mul(2, var2)), gp_add(gp_add(1, 1), gp_max(2, var2))), gp_min(gp_sub(var0, gp_add(1, var1)), gp_div(var0, gp_div(var0, 1)))))  \\\n",
       "count                                      158919.000000                                                                                                                                                                                                                                  \n",
       "mean                                           -1.156487                                                                                                                                                                                                                                  \n",
       "std                                             2.009958                                                                                                                                                                                                                                  \n",
       "min                                          -560.830116                                                                                                                                                                                                                                  \n",
       "25%                                            -1.372642                                                                                                                                                                                                                                  \n",
       "50%                                            -0.961640                                                                                                                                                                                                                                  \n",
       "75%                                            -0.650948                                                                                                                                                                                                                                  \n",
       "max                                             1.000000                                                                                                                                                                                                                                  \n",
       "\n",
       "       ...  \\\n",
       "count  ...   \n",
       "mean   ...   \n",
       "std    ...   \n",
       "min    ...   \n",
       "25%    ...   \n",
       "50%    ...   \n",
       "75%    ...   \n",
       "max    ...   \n",
       "\n",
       "       factor_gp_add(gp_max(gp_mul(gp_mul(gp_min(2, var2), gp_max(var2, var1)), gp_sub(gp_add(var2, 2), gp_sub(var0, var1))), gp_div(2, var2)), gp_mul(var2, 1))  \\\n",
       "count                                       1.589190e+05                                                                                                           \n",
       "mean                                        3.125839e+01                                                                                                           \n",
       "std                                         3.960861e+03                                                                                                           \n",
       "min                                         3.129920e+00                                                                                                           \n",
       "25%                                         3.806265e+00                                                                                                           \n",
       "50%                                         5.164901e+00                                                                                                           \n",
       "75%                                         1.143982e+01                                                                                                           \n",
       "max                                         1.262600e+06                                                                                                           \n",
       "\n",
       "       factor_gp_add(gp_max(gp_mul(gp_mul(gp_min(2, var2), gp_max(var2, var1)), gp_sub(gp_add(var2, 2), gp_sub(var0, var1))), var1), gp_mul(var2, 1))  \\\n",
       "count                                       1.589190e+05                                                                                                \n",
       "mean                                        3.023899e+01                                                                                                \n",
       "std                                         3.960868e+03                                                                                                \n",
       "min                                         1.230147e-01                                                                                                \n",
       "25%                                         1.970575e+00                                                                                                \n",
       "50%                                         4.222292e+00                                                                                                \n",
       "75%                                         1.133943e+01                                                                                                \n",
       "max                                         1.262600e+06                                                                                                \n",
       "\n",
       "       factor_gp_add(gp_max(gp_mul(gp_mul(gp_min(2, var2), gp_max(var2, var0)), gp_add(var1, var2)), gp_min(gp_div(gp_add(var1, var1), gp_max(var2, gp_max(gp_add(var0, var2), gp_max(var1, var2)))), var1)), gp_min(gp_min(gp_sub(gp_max(var1, var0), gp_add(gp_sub(gp_add(1, 2), gp_sub(var0, gp_sub(gp_max(var1, var0), gp_add(var1, 1)))), 1)), var0), gp_mul(var0, gp_add(gp_div(gp_sub(1, var0), 2), gp_min(2, var0)))))  \\\n",
       "count                                       1.589190e+05                                                                                                                                                                                                                                                                                                                                                                         \n",
       "mean                                        2.310399e+01                                                                                                                                                                                                                                                                                                                                                                         \n",
       "std                                         3.647860e+03                                                                                                                                                                                                                                                                                                                                                                         \n",
       "min                                        -1.008838e+04                                                                                                                                                                                                                                                                                                                                                                         \n",
       "25%                                        -3.166101e-01                                                                                                                                                                                                                                                                                                                                                                         \n",
       "50%                                         1.816791e+00                                                                                                                                                                                                                                                                                                                                                                         \n",
       "75%                                         7.580220e+00                                                                                                                                                                                                                                                                                                                                                                         \n",
       "max                                         1.107882e+06                                                                                                                                                                                                                                                                                                                                                                         \n",
       "\n",
       "       factor_gp_add(gp_max(gp_mul(gp_mul(gp_min(2, var2), gp_max(var2, var0)), gp_add(var1, var2)), gp_min(gp_div(gp_add(var1, var1), gp_max(var2, gp_max(gp_add(var0, var2), gp_max(var1, var2)))), var1)), gp_min(gp_min(gp_sub(var2, gp_add(gp_sub(gp_add(1, 2), gp_sub(var0, gp_sub(gp_max(var1, var0), gp_add(var1, 1)))), 1)), var0), gp_mul(var0, gp_add(gp_div(gp_sub(1, var0), 2), gp_min(2, var0)))))  \\\n",
       "count                                       1.589190e+05                                                                                                                                                                                                                                                                                                                                                           \n",
       "mean                                        2.288500e+01                                                                                                                                                                                                                                                                                                                                                           \n",
       "std                                         3.647861e+03                                                                                                                                                                                                                                                                                                                                                           \n",
       "min                                        -1.008838e+04                                                                                                                                                                                                                                                                                                                                                           \n",
       "25%                                        -5.970662e-01                                                                                                                                                                                                                                                                                                                                                           \n",
       "50%                                         1.518561e+00                                                                                                                                                                                                                                                                                                                                                           \n",
       "75%                                         7.248349e+00                                                                                                                                                                                                                                                                                                                                                           \n",
       "max                                         1.107882e+06                                                                                                                                                                                                                                                                                                                                                           \n",
       "\n",
       "       factor_gp_add(gp_max(gp_mul(gp_mul(gp_min(2, var2), gp_max(var2, var0)), gp_add(var1, var2)), gp_min(gp_div(gp_add(var1, var1), gp_max(var2, gp_max(gp_add(var0, var2), gp_max(var1, var2)))), var1)), gp_min(gp_min(var0, var0), gp_mul(var0, gp_add(gp_div(gp_sub(1, var0), 2), gp_min(2, var0)))))  \\\n",
       "count                                       1.589190e+05                                                                                                                                                                                                                                                       \n",
       "mean                                        2.484642e+01                                                                                                                                                                                                                                                       \n",
       "std                                         3.647850e+03                                                                                                                                                                                                                                                       \n",
       "min                                        -1.008838e+04                                                                                                                                                                                                                                                       \n",
       "25%                                         1.993659e+00                                                                                                                                                                                                                                                       \n",
       "50%                                         3.743952e+00                                                                                                                                                                                                                                                       \n",
       "75%                                         8.832051e+00                                                                                                                                                                                                                                                       \n",
       "max                                         1.107882e+06                                                                                                                                                                                                                                                       \n",
       "\n",
       "       factor_gp_add(gp_max(gp_mul(gp_mul(gp_min(2, var2), gp_max(var2, var0)), gp_sub(gp_add(1, gp_max(gp_div(gp_div(var2, var1), gp_add(var2, var1)), gp_mul(gp_max(var0, var0), gp_div(1, var0)))), gp_sub(var0, var1))), gp_min(gp_div(gp_add(var1, var1), gp_max(var2, gp_max(gp_min(var2, gp_mul(gp_sub(gp_max(var1, gp_min(gp_sub(gp_max(var1, var0), var0), var0)), gp_sub(var1, gp_sub(gp_div(var0, var2), gp_max(var1, var2)))), gp_mul(gp_add(var2, gp_sub(var1, var1)), gp_sub(var0, gp_add(gp_mul(gp_mul(gp_max(gp_sub(gp_mul(1, var1), var2), var0), gp_max(var2, gp_div(var1, 1))), gp_sub(gp_add(1, 2), gp_sub(gp_max(gp_mul(gp_mul(gp_max(gp_mul(gp_mul(gp_min(gp_mul(gp_div(gp_sub(var1, var2), gp_add(var1, var0)), 2), var2), gp_max(1, var1)), gp_sub(gp_add(1, var1), gp_sub(var0, var1))), gp_min(gp_div(gp_add(var1, var1), gp_div(gp_min(var2, var0), gp_div(var0, var2))), var1)), gp_max(var2, var0)), gp_sub(gp_add(1, gp_add(1, 2)), gp_sub(var0, var1))), gp_div(gp_min(2, var2), gp_max(var1, gp_add(var1, var1)))), var1))), 1))))), gp_max(gp_max(var0, 1), var2)))), var1)), gp_min(gp_min(gp_sub(gp_max(var1, var1), gp_add(var1, 1)), var0), gp_mul(gp_mul(var0, 2), gp_add(gp_div(gp_sub(1, var0), 2), gp_min(2, var0)))))  \\\n",
       "count                                      158919.000000                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          \n",
       "mean                                            9.390146                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          \n",
       "std                                          1101.533348                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          \n",
       "min                                        -39034.599517                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          \n",
       "25%                                             0.192782                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          \n",
       "50%                                             1.349809                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          \n",
       "75%                                             4.826512                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          \n",
       "max                                        316030.241410                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          \n",
       "\n",
       "       factor_gp_add(gp_max(gp_mul(gp_mul(gp_min(2, var2), gp_max(var2, var0)), gp_sub(gp_add(1, gp_max(gp_div(gp_div(var2, var1), gp_add(var2, var1)), gp_mul(gp_max(var0, var0), gp_div(1, var0)))), gp_sub(var0, var1))), gp_min(gp_div(gp_add(var1, var1), gp_max(var2, gp_max(gp_min(var2, gp_mul(gp_sub(gp_max(var1, gp_min(gp_sub(gp_max(var1, var0), var0), var0)), gp_sub(var1, gp_sub(gp_div(var0, var2), gp_max(var1, var2)))), gp_mul(gp_add(var2, gp_sub(var1, var1)), gp_sub(var0, gp_add(gp_mul(gp_mul(gp_max(gp_sub(gp_mul(1, var1), var2), var0), gp_max(var2, gp_div(var1, 1))), gp_sub(gp_add(1, 2), gp_sub(gp_max(gp_mul(gp_mul(gp_max(gp_mul(gp_mul(gp_min(gp_mul(gp_div(gp_sub(var1, var2), gp_add(var1, var0)), 2), var2), gp_max(1, var1)), gp_sub(gp_add(1, var1), gp_sub(var0, var1))), gp_min(gp_div(gp_add(var1, var1), gp_div(gp_min(var2, var0), gp_div(var0, var2))), var1)), gp_max(var2, var0)), gp_sub(gp_add(1, gp_add(1, 2)), gp_sub(var0, var1))), gp_div(gp_min(2, var2), gp_max(var1, gp_add(var1, var1)))), var1))), 1))))), gp_max(gp_max(var0, 1), var2)))), var1)), gp_min(gp_min(gp_sub(var1, gp_add(var1, 1)), var0), gp_mul(gp_mul(var0, 2), gp_add(gp_div(gp_sub(1, var0), 2), gp_min(2, var0)))))  \\\n",
       "count                                      158919.000000                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            \n",
       "mean                                            9.390146                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            \n",
       "std                                          1101.533348                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            \n",
       "min                                        -39034.599517                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            \n",
       "25%                                             0.192782                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            \n",
       "50%                                             1.349809                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            \n",
       "75%                                             4.826512                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            \n",
       "max                                        316030.241410                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            \n",
       "\n",
       "       factor_gp_add(gp_max(gp_mul(gp_mul(gp_min(2, var2), gp_max(var2, var0)), gp_sub(gp_add(1, gp_max(gp_div(gp_div(var2, var1), gp_add(var2, var1)), gp_mul(gp_max(var0, var0), gp_div(1, var0)))), gp_sub(var0, var1))), gp_min(gp_div(gp_add(var1, var1), gp_max(var2, gp_max(gp_min(var2, gp_mul(gp_sub(gp_max(var1, gp_min(gp_sub(gp_max(var1, var0), var0), var0)), gp_sub(var1, gp_sub(gp_div(var0, var2), gp_max(var1, var2)))), gp_mul(gp_add(var2, gp_sub(var1, var1)), gp_sub(var0, gp_add(gp_mul(gp_mul(gp_max(gp_sub(gp_mul(1, var1), var2), var0), gp_max(var2, gp_div(var1, 1))), gp_sub(gp_add(1, 2), gp_sub(gp_max(gp_mul(gp_mul(gp_max(gp_mul(gp_mul(gp_min(gp_mul(gp_div(gp_sub(var1, var2), gp_add(var1, var0)), 2), var2), gp_max(1, var1)), gp_sub(gp_add(1, var1), gp_sub(var0, var1))), gp_min(gp_div(gp_add(var1, var1), gp_div(gp_min(var2, var0), gp_div(var0, var2))), var1)), gp_max(var2, var0)), gp_sub(var1, gp_sub(var0, var1))), gp_div(gp_min(2, var2), gp_max(var1, gp_add(var1, var1)))), var1))), 1))))), gp_max(gp_max(var0, 1), var2)))), var1)), gp_min(gp_min(gp_sub(var1, gp_add(var1, 1)), var0), gp_mul(gp_mul(var0, 2), gp_add(gp_div(gp_sub(1, var0), 2), gp_min(2, var0)))))  \\\n",
       "count                                      158919.000000                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         \n",
       "mean                                            9.390146                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         \n",
       "std                                          1101.533348                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         \n",
       "min                                        -39034.599517                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         \n",
       "25%                                             0.192782                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         \n",
       "50%                                             1.349809                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         \n",
       "75%                                             4.826512                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         \n",
       "max                                        316030.241410                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         \n",
       "\n",
       "       factor_gp_add(gp_max(gp_mul(gp_mul(gp_min(2, var2), gp_max(var2, var0)), gp_sub(gp_add(1, gp_max(gp_div(gp_div(var2, var1), gp_add(var2, var1)), gp_mul(gp_max(var0, var0), gp_div(1, var0)))), gp_sub(var0, var1))), gp_min(gp_div(gp_add(var1, var1), gp_max(var2, gp_max(gp_min(var2, var1), gp_max(gp_max(var0, 1), var2)))), var1)), gp_min(gp_min(gp_sub(var1, gp_add(var1, 1)), var0), gp_mul(gp_mul(var0, 2), gp_add(gp_div(gp_sub(1, var0), 2), gp_min(2, var0)))))  \\\n",
       "count                                      158919.000000                                                                                                                                                                                                                                                                                                                                                                                                                              \n",
       "mean                                            9.390146                                                                                                                                                                                                                                                                                                                                                                                                                              \n",
       "std                                          1101.533348                                                                                                                                                                                                                                                                                                                                                                                                                              \n",
       "min                                        -39034.599517                                                                                                                                                                                                                                                                                                                                                                                                                              \n",
       "25%                                             0.192782                                                                                                                                                                                                                                                                                                                                                                                                                              \n",
       "50%                                             1.349809                                                                                                                                                                                                                                                                                                                                                                                                                              \n",
       "75%                                             4.826512                                                                                                                                                                                                                                                                                                                                                                                                                              \n",
       "max                                        316030.241410                                                                                                                                                                                                                                                                                                                                                                                                                              \n",
       "\n",
       "       factor_gp_add(gp_max(gp_mul(gp_mul(gp_min(2, var2), gp_max(var2, var0)), gp_sub(gp_min(var2, var1), gp_sub(var0, var1))), gp_min(gp_div(gp_min(var1, 2), var2), var1)), gp_min(2, var1))  \n",
       "count                                      158919.000000                                                                                                                                         \n",
       "mean                                           15.775295                                                                                                                                         \n",
       "std                                          2185.461069                                                                                                                                         \n",
       "min                                             0.000000                                                                                                                                         \n",
       "25%                                             1.292769                                                                                                                                         \n",
       "50%                                             2.296086                                                                                                                                         \n",
       "75%                                             5.008442                                                                                                                                         \n",
       "max                                        631490.404039                                                                                                                                         \n",
       "\n",
       "[8 rows x 77 columns]"
      ]
     },
     "execution_count": 140,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
